#ifndef SPRITEINFO_H
#define SPRITEINFO_H

namespace PM3D
{
    class Texture;
    class Dispositif;
    class SpriteInfo
    {
    public:
        enum SpriteType
        {
            STATIC,
            DYNAMIC
        };

        SpriteInfo(const std::wstring& filename_in, Dispositif* d3dDevice, 
            float x, float y,float cx, float cy, SpriteType type, float opacity);
        ~SpriteInfo();

        void draw();
        void rotateNeedle();
        void translate(D3DXVECTOR3 offset);

    private:
        static const float DEFAULT_ANGLE;
        Texture* texture_;
        ID3DXSprite* sprite_;
        D3DXVECTOR3 position_;
        D3DXVECTOR3 offset_;
        D3DXVECTOR3 center_;
        D3DXMATRIX matWorld_;
        //RECT* bound_;
        float prevAngle_;
        SpriteType type_;

        DWORD opacity_;
    };
}       // namespace PM3D

#endif  // SPRITEINFO_H
